package com.itheima.d1_char_stream;
import java.io.FileWriter;
import java.io.Writer;

/**
 * 目标：搞清楚字符输出流使用时的注意事项。
 * 1.字符输出流使用完毕后需要调用close方法或者flush方法才能将流中的数据写到文件中
 *
 * 字符输出流底层当写出数据时不是直接写到文件中，而是先写到缓存中（内存中一个数组）  内部缓冲区长度 8192
 * 当调用flush方法或者close方法，或者缓存中已经满了就会将缓存的数据写到文件中
 *
 * flush和close区别：
 * close是释放资源，关闭资源。在关闭资源前会进行刷新，流就不能用了
 * flush只是单纯的刷新资源，不会关闭资源，刷新之后流可以继续使用
 */
public class FileWriterTest3 {
    public static void main(String[] args) throws Exception {
        FileWriter fw = new FileWriter("day10io-app2/file/File03.txt");
        for (int i = 0; i < 8192; i++) {
            fw.write('a');
        }
        fw.write('b');
        fw.flush();
    }
}
